Technical Field
The present invention relates generally to information processing and, in particular, to resilient distributed garbage collection.
Description of the Related Art
X10 is a distributed programming language that can use multiple computing nodes (places). In X10, objects can be remotely-referenced from other places, and an implementation of X10 on Java, named “Managed X10”, has a distributed garbage collection mechanism to collect such objects when they are no longer referenced remotely and locally.
Recently, X10 was extended to support fault tolerance as “Resilient X10”, which allows for continued processing even when some places are dead. By appropriately handling a newly-added “DeadPlaceException”, applications can easily support fault tolerance.
However, current distributed garbage collection in X10 cannot collect objects remotely-referenced from so called dead places (dead computer nodes). This does not affect the program behavior, but may cause OutOfMemoryError as uncollectable garbage objects increase.
Thus, in a distributed processing environment, there is a need for improved garbage collection whereby objects are correctly selected for garbage collection even when some computing nodes are dead.